package cn.iocoder.yudao.module.tms.controller.admin.customerfollowup.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDateTime;
import jakarta.validation.constraints.*;

@Schema(description = "管理后台 - 客户跟进新增/修改 Request VO")
@Data
public class CustomerFollowUpSaveReqVO {

    @Schema(description = "主键", example = "1024")
    private Long id;

    @Schema(description = "公司ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
    @NotNull(message = "公司ID不能为空")
    private Long companyId;

    @Schema(description = "公司名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "XX科技有限公司")
    @NotEmpty(message = "公司名字不能为空")
    private String companyName;

    @Schema(description = "公司地址", example = "北京市朝阳区XX路XX号")
    private String companyAddress;

    @Schema(description = "公司模式", example = "direct")
    private String companyMode;

    @Schema(description = "负责人", example = "张三")
    private String principal;

    @Schema(description = "访问人员", example = "李四")
    private String visitor;

    @Schema(description = "走访时间")
    private LocalDateTime visitTime;

    @Schema(description = "个人喜好", example = "喜欢喝茶")
    private String personalPreference;

    @Schema(description = "业务量", example = "月均100单")
    private String businessVolume;

    @Schema(description = "培训情况", example = "已完成基础培训")
    private String trainingSituation;

    @Schema(description = "对方合作商", example = "XX物流公司")
    private String partner;

    @Schema(description = "跟进状态", example = "following")
    private String followStatus;

    @Schema(description = "下次跟进时间")
    private LocalDateTime nextFollowTime;

    @Schema(description = "备注")
    private String remark;

}
